Skip to content

Conversation

@iomarsayed
Copy link
Contributor

@iomarsayed iomarsayed commented Oct 28, 2025

What type of PR is this?

/kind feature

What this PR does / why we need it:

Switch Default TAS Placement Algorithm from BestFit to Mixed, by enabling TAS Mixed Profile.

Which issue(s) this PR fixes:

Fixes #7214

Does this PR introduce a user-facing change?

TAS: change the algorithm used in case of "unconstrained" mode (enabled by the kueue.x-k8s.io/podset-unconstrained-topology annotation, or when the "implicit" mode s used) from "BestFit" to "LeastFreeCapacity". 

This allows to optimize the fragmentation for workloads which don't require bin-packing.

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. release-note-none Denotes a PR that doesn't merit a release note. labels Oct 28, 2025
@netlify
Copy link

netlify bot commented Oct 28, 2025

Deploy Preview for kubernetes-sigs-kueue canceled.

Name Link
🔨 Latest commit 94a293e
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-sigs-kueue/deploys/6908c69a4bb4ec0008a84866

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Oct 28, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @iomarsayed. Thanks for your PR.

I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Oct 28, 2025
@mimowo
Copy link
Contributor

mimowo commented Oct 28, 2025

/ok-to-test
Thanks 👍

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Oct 28, 2025
TASProfileMixed: {
{Version: version.MustParse("0.10"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("0.11"), Default: false, PreRelease: featuregate.Deprecated},
{Version: version.MustParse("0.11"), Default: true, PreRelease: featuregate.Deprecated},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should no longer be deprecated since enabled by default, I think it should be

a new entry rather than modifying old, so:

		{Version: version.MustParse("0.10"), Default: false, PreRelease: featuregate.Alpha},
		{Version: version.MustParse("0.11"), Default: false, PreRelease: featuregate.Deprecated},
		{Version: version.MustParse("0.15"), Default: true, PreRelease: featuregate.Beta},

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seeing the failures I think we should still update the old one retrospectively from Deprecated to Alpha

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea, ok so I did that too.

@mimowo
Copy link
Contributor

mimowo commented Oct 29, 2025

/release-note-edit

TAS: change the algorithm used in case of "unconstrained" mode (enabled by the kueue.x-k8s.io/podset-unconstrained-topology annotation, or when the "implicit" mode s used) from "BestFit" to "LeastFreeCapacity". 

This allows to optimize the fragmentation for workloads which don't require bin-packing.

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-none Denotes a PR that doesn't merit a release note. labels Oct 29, 2025
@iomarsayed
Copy link
Contributor Author

/retest

| feature gate / annotation | preferred | required | unconstrained |
| ------------------------------------------ | ----------------- | ----------------- | ----------------- |
| None <br/> or TASProfileMixed (deprecated) | BestFit | BestFit | LeastFreeCapacity |
| None <br/> or TASProfileMixed (default) | BestFit | BestFit | LeastFreeCapacity |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd keep the table aligned:

Suggested change
| None <br/> or TASProfileMixed (default) | BestFit | BestFit | LeastFreeCapacity |
| None <br/> or TASProfileMixed (default) | BestFit | BestFit | LeastFreeCapacity |

It does not impact the way it's rendered, but it's aligned in the entire file + it's easier to handle.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes agreed, done!

Comment on lines 273 to 261
{Version: version.MustParse("0.11"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("0.15"), Default: true, PreRelease: featuregate.Beta},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't line 273 obsolete now? From what I understand, you could drop it now:

Suggested change
{Version: version.MustParse("0.11"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("0.15"), Default: true, PreRelease: featuregate.Beta},
{Version: version.MustParse("0.15"), Default: true, PreRelease: featuregate.Beta},

Copy link
Contributor

@kshalot kshalot Nov 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iomarsayed I think you deleted the wrong line in f9ea38f - removing the one with "0.10" would change the behavior, no?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes 0.10 shouldn't have been the one removed to ensure safety. thank you!

@iomarsayed iomarsayed force-pushed the 7214-switch-default-placement-algorithm-to-mixed branch from ede4856 to f9ea38f Compare November 3, 2025 14:36
@mimowo
Copy link
Contributor

mimowo commented Nov 4, 2025

Thank you 👍
/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 4, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: iomarsayed, mimowo

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 1212028ebbab688ef516ef69365680c45a96f2ac

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 4, 2025
@k8s-ci-robot k8s-ci-robot merged commit 7a8b75b into kubernetes-sigs:main Nov 4, 2025
23 checks passed
@k8s-ci-robot k8s-ci-robot added this to the v0.15 milestone Nov 4, 2025
Singularity23x0 pushed a commit to Singularity23x0/kueue that referenced this pull request Nov 5, 2025
…etes-sigs#7416)

* Enable TAS Mixed Profile for default

* adjust feature and kep

* remove deprecation of current version for TASProfileMixed

* cleanups

* fix typo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Switch default TAS placement algorithm (BestFit -> Mixed)

4 participants